@extends('layouts.index')
@section('title', $product->title)
@section('content')
    <div class="layui-row">
        <div class="layui-col-lg10 layui-col-lg-offset1">
            <div class="card">
                <div class="card-body product-info">
                    <div class="row">
                        <div class="layui-col-lg5" style="padding: 10px;">
                            <img class="cover" src="{{ $product->image_url }}" alt="">
                        </div>
                        <div class="layui-col-lg7" style="padding: 10px">
                            <div class="title">{{ $product->title }}</div>
                            <div class="price"><label>价格</label><em>￥</em><span>{{ $product->price }}</span></div>
                            <div class="sales_and_reviews">
                                <div class="sold_count">累计销量 <span class="count">{{ $product->sold_count }}</span></div>
                                <div class="review_count">累计评价 <span class="count">{{ $product->review_count }}</span></div>
                                <div class="rating" title="评分 {{ $product->rating }}">评分 <span class="count">{{ str_repeat('★', floor($product->rating)) }}{{ str_repeat('☆', 5 - floor($product->rating)) }}</span></div>
                            </div>
                            <div class="skus">
                                <label>选择</label>
                                <div class="layui-btn-group ">
                                    @foreach($product->skus as $sku)
                                        <label
                                                class="layui-btn sku-btn"
                                                data-price="{{ $sku->price }}"
                                                data-stock="{{ $sku->stock }}"
                                                data-toggle="tooltip"
                                                title="{{ $sku->description }}"
                                                data-placement="bottom">
                                            <input type="radio" name="skus" autocomplete="off" value="{{ $sku->id }}"> {{ $sku->title }}
                                        </label>
                                    @endforeach
                                </div>
                            </div>
                            <div class="cart_amount"><label>数量</label><input type="text" class="form-control form-control-sm" value="1"><span>件</span><span class="stock"></span></div>
                            <div class="buttons">
                                <button class="layui-btn layui-btn-normal  btn-favor">❤ 收藏</button>
                                <button class="layui-btn layui-btn-warm btn-add-to-cart">加入购物车</button>
                            </div>
                        </div>
                        <div class="product-detail">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <ul class="layui-tab-title">
                                    <li class="layui-this">
                                        <a class="nav-link active" href="#product-detail-tab" aria-controls="product-detail-tab" role="tab" data-toggle="tab" aria-selected="true">商品详情</a>
                                    </li>
                                    <li class="">
                                        <a class="nav-link" href="#product-reviews-tab" aria-controls="product-reviews-tab" role="tab" data-toggle="tab" aria-selected="false">用户评价</a>
                                    </li>
                                </ul>
                                <div class="layui-tab-content">
                                    <div role="tabpanel" class="layui-tab-item layui-show" id="product-detail-tab">
                                        {!! $product->description !!}
                                    </div>
                                    <div role="tabpanel" class="layui-tab-item" id="product-reviews-tab">
                                        暂无评价
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection
@section('scriptsAfterJs')
    <script>
        layui.use(['element','jquery','layer'], function(){
            var element = layui.element;
            var $ = layui.$;
            var layer = layui.layer;
        $(document).ready(function () {
            // $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'});
            $('.sku-btn').click(function () {
                $(this).addClass("active");
                $('.product-info .price span').text($(this).data('price'));
                $('.product-info .stock').text('库存：' + $(this).data('stock') + '件');
            });
        });
        $('.btn-favor').click(function () {
            // 发起一个 post ajax 请求，请求 url 通过后端的 route() 函数生成。
            axios.post('{{ route('products.favor', ['product' => $product->id]) }}')
                .then(function () { // 请求成功会执行这个回调
                    setTimeout(function(){
                        layer.msg('收藏成功',{icon: 6});
                    }, 2000);
                    layer.msg('玩命收藏中', {
                        icon: 16
                        ,shade: 0.01
                    });
                }, function(error) { // 请求失败会执行这个回调
                    // 如果返回码是 401 代表没登录
                    if (error.response && error.response.status === 401) {
                        layer.msg('请先登录', '', 'error');
                    } else if (error.response && error.response.data.msg) {
                        // 其他有 msg 字段的情况，将 msg 提示给用户
                        layer.msg(error.response.data.msg, '', 'error');
                    }  else {
                        // 其他情况应该是系统挂了
                        layer.msg('系统错误', '', 'error');
                    }
                });
            });
        $('.btn-add-to-cart').click(function () {
            // 请求加入购物车接口
            axios.post('{{ route('cart.add') }}', {
                sku_id: $('label.active input[name=skus]').val(),
                amount: $('.cart_amount input').val(),
            })
                .then(function () { // 请求成功执行此回调
                    //将头部的购物车计数器加一
                    $(".cart-item-count").html($(".cart-item-count").data('itemscount')+1);
                    setTimeout(function(){
                        layer.msg('我在购物车里等你哟,亲~',{icon: 1});

                    }, 1000);
                    layer.msg('玩命加载中...', {
                        icon: 16
                        ,shade: 0.01
                    });
                }, function (error) { // 请求失败执行此回调
                    if (error.response.status === 401) {

                        // http 状态码为 401 代表用户未登陆
                        layer.msg('请先登录啊，亲~', {icon: 4});

                    } else if (error.response.status === 422) {

                        // http 状态码为 422 代表用户输入校验失败
                        var html = '<div>';
                        _.each(error.response.data.errors, function (errors) {
                            _.each(errors, function (error) {
                                html += error+'<br>';
                            })
                        });
                        html += '</div>';
                        swal({content: $(html)[0], icon: 'error'})
                    } else {

                        // 其他情况应该是系统挂了
                        layer.msg('系统错误', '', {icon: 2});
                    }
                })
            });
        });
    </script>
@endsection